import { createStore, applyMiddleware, compose } from 'redux'  // 引入createStore方法
import thunk from 'redux-thunk'      // 引入redux-thunk中间件
import reducer from './reducer'      // 引入reducer

// 利用compose创造一个增强函数，就相当于建立了一个链式函数  因为createStore只接受2个参数，加thunk这里就3个了，只能增强函数
const composeEnhancers =   window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?
    window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}):compose

const enhancer = composeEnhancers(applyMiddleware(thunk))

const store = createStore( reducer, enhancer) // 创建数据存储仓库 

// const store = createStore(reducer,
// window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__())

export default store                 //暴露出去